Set x {
    shape = Circle { }
    objective outside(x.shape.label, x.shape)
    arr = Arrow {
        start = x.shape.label
        end   = x
        text = None
    }
}

NoIntersect x y {
    constraint nonOverlapping(x.shape, y.shape)
}

Subset x y {
    constraint contains(y.shape, x.shape.label)
    constraint contains(y.shape, x.shape)
    constraint smallerThan(x.shape, y.shape)
    constraint outsideOf(y.shape.label, x.shape)
}
